﻿using System;
using MethodWorx.CMS.Membership;
using MethodWorx.CMS.Plugins;
using MethodWorx.Core.Validation;

namespace MethodWorx.CMS.Services
{
    public interface IUserService
    {
        PreviewSession CreatePreviewSession(Guid userId, string cmsUrl);
        PreviewSession GetPreviewSession(Guid previewSessionId);
        User Authenticate(string username, string password);
        User GetUserById(Guid userId);
        void SetDashboardWidgets(User user, IPlugin foundPlugin, DashboardWidget[] widgets);
        User CreateMember(string name, string emailAddress, string passwsord, IValidationProvider provider);

        User GetUserByName(string p);
    }
}
